package com.sxfq.loansupermarket.backsystem.modular.arrival.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.sxfq.loansupermarket.backsystem.modular.IntegralMall.entity.MembersArriveInfo;
import com.sxfq.loansupermarket.backsystem.modular.IntegralMall.entity.MembersUser;
import com.sxfq.loansupermarket.backsystem.modular.IntegralMall.entity.SearchMembersUser;
import com.sxfq.loansupermarket.backsystem.modular.arrival.entity.CustomerInfo;
import com.sxfq.loansupermarket.backsystem.modular.arrival.entity.FirstCustomerInfo;
import com.sxfq.loansupermarket.backsystem.modular.arrival.entity.SearchCustomerInfo;
import com.sxfq.loansupermarket.backsystem.modular.marketing.entity.ReservationsInfo;
import org.springframework.ui.Model;

import java.util.List;

/**
 *
 * @author py
 * @Date 2018年4月19日23:15:54
 */
public interface ICustomerService {
    List<CustomerInfo> selectPageListByQueryGetMap(Page<CustomerInfo> page, SearchCustomerInfo info);

    List<CustomerInfo> selectPageListByQueryGetMap2(Page<CustomerInfo> page, SearchCustomerInfo info);

    int getQueryPagesCount(Page<CustomerInfo> page, SearchCustomerInfo info);

    CustomerInfo selectOneById(String customerId);

    CustomerInfo selectOneByReservationsId(String reservationsId);

    CustomerInfo selectOneByReservationsId(String reservationsId,String customerTableName);

    FirstCustomerInfo selectOneByReservationsIdFirst(String reservationsId, String customerTablesd);

    CustomerInfo selectOneByReservationsIdFirsts(String reservationsId, String customerTablesd);

    CustomerInfo selectOneByReservationsIdLast(String reservationsId);

    MembersArriveInfo memberDistinguishInUp(String reservationsId);

    int updateCustomerArrivalStatus(int arrivalStatus,String customerId);

    int toVoid(CustomerInfo info);

    int insert(CustomerInfo info);

    int insertsc(ReservationsInfo info);

    int insertxz(CustomerInfo info);

    int insertReturncz (CustomerInfo info,String id);

    int insertReturnfzjy (String customid,String projectData,String treatmentUnit,String customerPhone,String fieldTc,
                          String tableName,String customerId,String startTimeValue,String endTimeValue,String doctor,String remarks);

    String insert2(CustomerInfo info);

    String geturl(CustomerInfo customerInfo);

    List<CustomerInfo> customerExport(SearchCustomerInfo searchInfo);

    int update(CustomerInfo info);

    String getMedicalRecordNumbers(String customerPhone, String abbreviation);

    String getId();

    int addCustomerErnest(String remarks, String customerId,String [] str, String mode, String reservationsId, String fieldTcValue, Model model);

    int addOrthodonticsDeal(String remarks, String customerId,String [] str, String mode,String fieldTcValue, Model model);

    List<CustomerInfo> selectPageListById(Page<CustomerInfo> page, SearchCustomerInfo info);

    List<CustomerInfo> selectPageQfListByQueryGetMap(Page<CustomerInfo> page, SearchCustomerInfo info);

    int getQueryPagesQfCount(Page<CustomerInfo> page, SearchCustomerInfo info);

    int getQueryPagesByIdCount(Page<CustomerInfo> page, SearchCustomerInfo info);

    List<MembersUser> selectCustomerMemberList(Page<MembersUser> page, SearchMembersUser info);

    int getQueryPagesMemberListCount(Page<MembersUser> page, SearchMembersUser info);
}